package com.purchase.manage.service;

import com.purchase.common.exception.file.InvalidExtensionException;
import com.purchase.manage.damian.DAO.StoreQuotationListEXCELDTO;
import com.purchase.manage.damian.OrderList;
import com.purchase.manage.damian.OrderProject;
import com.purchase.manage.damian.StoreQuotation;
import com.purchase.manage.damian.StoreQuotationList;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.rmi.ServerException;
import java.text.ParseException;
import java.util.List;

public interface IFileService {
    //采购员上传的商品类订单 解析清单列表 xls
    void poiReadPurchase(MultipartFile file, OrderList orderList) throws IOException, ParseException;

    //供应商上传的商品类订单 解析全部
    StoreQuotation poiReadSupplier(MultipartFile file, StoreQuotation storeQuotation, MultipartFile photo) throws IOException, InvalidExtensionException;

    //采购员上传的工程类订单 解析清单列表
    void poiReadPurchaseProject(MultipartFile file, OrderList orderList) throws IOException, ParseException;

    //供应商上传的工程类订单 解析全部
    OrderProject poiReadSupplierProject(MultipartFile file, Long orderId, MultipartFile photo) throws IOException, InvalidExtensionException;

    //查询 是否重复上传询价单
    void selectCountOrder(Long orderId, String type) throws ServerException;

    OrderProject poiReadSupplierProject11(MultipartFile file) throws IOException, InvalidExtensionException;

    //供应商下载工程类询价单
    void supplierDownloadProject(Long orderId, HttpServletResponse response) throws IOException;

    //供应商下载商品类询价单
    void supplierDownloadStore(Long orderId, HttpServletResponse response) throws IOException, ParseException;

    //历史比价
    List<StoreQuotationListEXCELDTO> priceComparison(String name);

    //采购员下载工程订单
    void purchaseDownProject(Long orderId, Long supplierId,HttpServletResponse response) throws IOException;
    //采购员下载商品订单
    void purchaseDownStore(Long orderId, Long supplierId, HttpServletResponse response) throws IOException, ParseException;

    //测试 待删除
    void insertSupplierState();



}
